bit-Worker RPA OpenApi 开发文档

1、阅读说明

bit-Worker RPA 通过开放接口(OpenApi)为接入企业提供进一步集成和个性化定制的能力。 所有接口都使用 JSON 数据格式和 UTF-8 编码。 接口使用 POST 一种操作,其他类型操作(如 GET、PUT)皆不会用到。 POST 类型操作中可能需要 query 参数。

说明:query 参数是放入 url 中的参数,例如:

https://api.test.ninetechone.com/test-api 在添加 query 参数 id 后完整请求为:
https://api.test.ninetechone.com/test-api?id=xxx

另外,POST 类型操作中除了 query 参数外还可能需要提供 body 参数。具体会在相应业务 API 文档中介绍。

请求返回值中总是包含 codemessage 字段,称为基础返回字段。用于描述请求的成功状态, 其定义如下:

字段 类型 说明
code String 响应状态码,200 为正常,非 200 代表错误。错误码见下文说明。
message String 错误信息,错误时会显示错误原因。

样例:

// 正确样例
{
  "code": "200",
  "message": "success"
}

// 错误样例
{
  "code": "400",
  "message": "xxx 不能为空"
}

2、接入准备

1、使用租管账号(只有租管具有 API 密钥管理权限)进入 bit-Worker RPA 后台 - API 秘钥

管理,生成秘钥并获取秘钥 secretId 和 secretKey。

● 生成秘钥
点击生成秘钥之后会自动生成秘钥信息,如图: ● 获取秘钥 secretId 和 secretKey 点击查看 secretKey 后弹框要求输入密码,输入账号密码之后获取 secretKey。

2、 拿到密钥对,按照正确的格式进行 base64 加密(中间有空格,且冒号需要使用英文冒号,首字母为小写)地址:

https://base64.us/

3、 加密后的密钥作为获取 token api 的 Access-Secret,通过返回数据拿到调用业务 api 的token

4、 使用 token 作为 header 调用业务 api,header Key 为 Access-Token

说明:

  • 每个租管可以申请两个密钥,密码代表您的账号身份和所拥有的权限,请妥善保管。
  • 基于生成密钥,可以操作当前的租户下您名下的所有数据,包括但不限于机器人、任务计划、流程等。
  • 建议定期更新密钥,保障资产和服务安全。

3、使用说明

调用的域名或 ip,在使用过程中请根据自己的环境进行相应的替换: 例如: https://api.test.ninetechone.com/api/controller/v1/4j 其中,/api/controller/v1/4j 是所有接口 URI 的固定前缀部分。 所有业务接口均需在请求头中添加 Access-Token,作为 key,有关 value 获取方式,请参考接 入准备和授权接口说明。 OpenApi 接口可以组合成多个场景,以下是场景列表及每个场景的接口调用顺序:

3.1 查询机器人列表

  1. 查询机器人列表(5.3.1)

    3.2 查询机器人组列表

  2. 查询机器人组列表(5.2.1)

    3.3 新增机器人组

  3. 查询当前租户下的用户组树(5.1.1)

  4. 新增机器人组(5.2.2)

    3.4 修改机器人组

  5. 查询当前租户下的用户组树(5.1.1)

  6. 查询机器人组详情(5.2.3)
  7. 修改机器人组(5.2.4)

    3.5 删除机器人组

  8. 查询机器人组列表(5.2.1)

  9. 删除机器人组(5.2.5)

    3.6 新增机器人

  10. 查询当前用户下的可用机器人 license 列表(指定 license 时调用,不指定创建无 license 机器人)(5.3.2)

  11. 查询当前租户下的用户组树(5.1.1)
  12. 查询指定用户组下用户列表(5.1.2)
  13. 查询指定用户组下的机器人组列表(指定机器人组时调用)(5.2.6)
  14. 新增机器人(5.3.3)

    3.7 修改机器人

  15. 查询机器人列表(5.3.1)

  16. 查询机器人详情(5.3.4)

    3.9 删除机器人

  17. 查询机器人列表(5.3.1)

  18. 删除机器人(5.3.7)

    3.10 查询流程列表

  19. 查询流程列表(5.4.1)

    3.11 查询任务列表

  20. 查询任务列表(5.5.1)

    3.12 新增立即执行任务

  21. 查询流程列表(5.4.1)

  22. 查询流程版本列表(需要选择流程非默认版本时调用)(5.4.2)
  23. 查询机器人列表(5.3.1)
  24. 查询机器人组列表(指定机器人组运行时调用)(5.2.1)
  25. 新增立即执行任务(5.5.2)

    3.13 停止任务

  26. 查询任务列表(5.5.1)

  27. 停止任务(5.5.3)

    3.14 查询任务详情

  28. 查询任务列表(5.5.1)

  29. 查询任务详情(5.5.4)
  30. 查询任务日志(5.5.5)

    3.15 删除任务

  31. 查询任务列表(5.5.1)

  32. 删除任务(5.5.6)

    3.16 查询计划列表

  33. 查询计划列表(5.6.1)

    3.17 新增计划

  34. 查询流程列表(5.4.1)

  35. 查询流程版本列表(需要选择流程非默认版本时调用)(5.4.2)
  36. 查询机器人列表(5.3.1)
  37. 查询机器人组列表(指定机器人组运行时调用)(5.2.1)
  38. 新增计划(5.6.2)

    3.18 修改计划

  39. 查询计划列表(5.6.1)

  40. 查询计划详情(5.6.3)
  41. 查询流程列表(5.4.1)
  42. 查询流程版本列表(需要选择流程非默认版本时调用)(5.4.2)
  43. 查询机器人列表(5.3.1)
  44. 查询机器人组列表(指定机器人组运行时调用)(5.2.1)
  45. 修改计划(5.6.4)

    3.19 启/禁用计划

  46. 查询计划列表(5.6.1)

  47. 启/禁用计划(5.6.5)

    3.20 触发网络请求触发计划执行

  48. 新增网络请求触发计划(5.6.2)

  49. 查询计划列表(5.6.1)
  50. 网络请求触发计划 API 接口(5.6.6)

    3.21 查询计划下任务列表

  51. 查询计划列表(5.6.1)

  52. 查询计划下任务列表(5.6.7)

    3.22 删除计划

  53. 查询计划列表(5.6.1)

  54. 删除计划(5.6.8)

    4、授权接口

4.1 获取 API 调用凭证 accessToken

接口描述:

获取 accessToken 是调用 bit-Worker RPA openApi 接口的第一步,相当于创建了一个登录凭 证,其它的业务 API 接口,都需要依赖于 accessToken 来鉴权调用者身份。 注意:和惯例不同,获取访问凭据请求采用 POST 方法,且 secret 参数放在 header 中,防止 secret 参数放在 url 中被留在请求日志中影响安全性。

请求格式:

描述 定义
Path /open/api/v3/access-token
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Secret Base64 secret 字符串

请求参数:

名称 类型 是否必须 默认值 备注
isForce Boolean false 默认 false。为 true 时刷新过期时间

请求示例:

{
"isForce": true
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 返回数据
accessToken String 获取的临时 token
expireIn Integer 7 有效时间,默认 7 天

响应示例:

请求示例:

{
"userAccount": "test"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 用户组树顶部节点集合
id Long 用户组 id
name String 用户组名称
pid Long 父节点 id
createTime Date 创建时间
uniqueId String 唯一 id
parentPath String 父节点 path
children Object[] 用户组子节点集合
id Long 用户组 id
name String 用户组名称
pid Long 父节点 id
createTime Date 创建时间
uniqueId String 唯一 id
parentPath String 父节点 path
children Object[] 用户组子节点集合

响应示例:

{
"code": "200",
"message": "success",
"data": [{
"id": 1,
"name": "父节点",
"pid": 0,
"createTime": "2024-10-12 15:03:00",
"uniqueId": "0:1",
"parentPath": "xxx",
"children": [{
"id": 2,
"name": "子节点",
"pid": 1,
"createTime": "2024-10-12 15:03:00",
"uniqueId": "0:2"
"parentPath": "xxx/1",
"children": []
}]
}]
}

5.1.2 查询指定用户组下用户列表

接口描述:

获取指定用户组下用户列表。

请求格式:

描述 定义
Path /open/api/v3/group/users
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
用户组 id 不传查询所有部门用
orgId Long

请求示例:

{
"orgId": 1
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前部门用户列表
id Long 用户或用户组 id
code String 用户或用户组 code
uniqueId String 唯一 id = type:id
name String 用户或用户组名称
type Integer 分配类型:0-用户组/1-用户
parentId Long id
disabled Boolean 是否禁用
children Object[] 子部门及用户
id Long 用户或用户组 id
code String 用户或用户组 code
uniqueId String 唯一 id = type:id
name String 用户或用户组名称
type Integer 分配类型:0-用户组/1-用户
parentId Long id
disabled Boolean 是否禁用
children Object[] 子部门及用户

响应示例:

{
"code": "200",
"message": "success",
"data": [{
"id": 1,
"code": "code1",
"uniqueId": "1:1",
"name": "name1",
"type": 1,
"parentId": 1,
"disabled": false,
"children": []
}]
}

5.2 机器人组相关 5.2.1 查询机器人组列表

接口描述:

获取当前用户有权限的机器人组信息。

请求格式:

描述 定义
Path /open/api/v3/robot-groups
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
userAccount String 用户账号(不传默认租管)
name String 机器人组名称模糊查询

请求示例:

{
"name": "test"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data object[] 当前页数据集合
groupId Long 机器人组 id
name String 机器人组名称
orgId Long 用户组 id
orgName String 用户组名称

响应示例:

{
"code": "200",
"message": "success",
"data": [{
"groupId": 2345,
"name": "test 机器人",
"orgId": 321,
"orgName": "test 用户组"
}]
}

5.2.2 新增机器人组

接口描述:

创建一个新的机器人组。

请求格式:

描述 定义
Path /open/api/v3/robot-group/add
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
name String 机器人组名称
orgId Long 用户组 id

请求示例:

{
"code": "200",
"message": "success",
"data": {
"groupId": 123
}
}
5.2.3 查询机器人组详情

接口描述:

查询机器人组详情。

请求格式:

描述 定义
Path /open/api/v3/robot-group/detail
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
groupId Long 机器人组 id

请求示例:

{
"groupId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 机器人组详情
groupId Long 机器人组 id
name String 机器人组名称
orgId Long 用户组 id
orgName String 用户组名称

响应示例:

{
"groupId": 623,
"name": "20241012",
"orgId": "2820"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.2.5 删除机器人组

接口描述:

删除机器人组。

请求格式:

描述 定义
Path /open/api/v3/robot-group/del
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
groupId Long 机器人组 id

请求示例:

{
"groupId": 623
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.2.6 查询指定用户组下的机器人组列表

接口描述:

获取指定用户组下的机器人组列表。

请求格式:

描述 定义
Path /open/api/v3/org/robot-groups
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
orgId Long 用户组 id

请求示例:

{
"orgId": 1
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前用户组下机器人组列表
groupId Long 机器人组 id
name String 机器人组名称

响应示例:

{
"code": "200",
"message": "success",
"data": [
{
"groupId": 261,
"name": "test1"
},
{
"groupId": 622,
"name": "test2"
}
]
}

5.3 机器人相关 5.3.1 查询机器人列表

接口描述:

获取机器人列表。

请求格式:

描述 定义
Path /open/api/v3/robots
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
是否 默认
必须
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
statuses String[] 机器人状态集合,如:RUNNING,参
"pageIndex": 1,
"pageSize": 10,
"statuses": ["RUNNING","IDLE"]

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
robotId Long 机器人 id
name String 机器人名称
accountList Object[] 高密度机器人集合
status String 机器人状态,参考机器人状态表
uuid String 机器人 uuid
groupName String 机器人所属机器人组
userAccount String 机器人绑定用户账号
isEnabled Boolean 机器人是否启用
createTime Date 机器人创建时间
updateTime Date 机器人更新时间
accountId Long 高密度机器人 id
accountName String 高密度机器人名称
status String 高密度机器人状态,参考机器人状态表
createTime Date 高密度机器人创建时间
updateTime Date 高密度机器人更新时间

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"robotId": 2345,
"name": "test 机器人",
"accountList": [
{
"accountId": 1234,
"accountName": "高密度 1",
"status": "IDLE",
"createTime": "2024-10-12 15:15:15",
"updateTime": "2024-10-12 15:15:15"
}
],
"status": "IDLE",
"uuid": "cadce90d5cdf4ecbba97a8d67214f76d",
"groupName": "test 组",
"userAccount": "test_account",
"isEnabled": true,
"createTime": "2024-10-11 15:15:15",
"updateTime": "2024-10-12 15:15:15"
}]
}

5.3.2 查询当前用户下的可用机器人 license 列表

接口描述:

获取当前用户下可用机器人 license 列表。

请求格式:

描述 定义
Path /open/api/v3/robot/licenses
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
userAccount String 用户账号(不填默认租管)
不填获取全部,true 获取已分配,
isDistribute Boolean
false 获取未分配

请求示例:

{
"pageIndex": 1,
"pageSize": 10,
"isDistribute": false
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
licenseId Long 证书 id
code String 证书 code
isAssigned Boolean 证书是否已分配
robotId Long 机器人 id
robotName String 机器人名称
message String 证书分配信息
licenseType String 证书类型,参考 license 类型表
高密度类型,参考 license 高密度
licenseHighDensity String
hasMachineCode Boolean 是否有机器码

响应示例:

全部使用 POST 请求为了保证安 applicat Content-Type 是 全性, Content-Type 均为 ion/json application/json Access-Token 是 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
robots Object[] 机器人集合
robotName String 机器人名称
userId Long 用户 id(不传默认租管)
uuid String 机器人 uuid
orgId Long 用户组 id,创建私有机器人时须传递
证书 id,不传默认创建无 license 机
licenseId Long
isPublic Boolean true 默认公开
groupIds Long[] 机器人组 id 集合

请求示例:

{
"robotName": "test 机器人",
"userId": 1234,
"uuid": "47ff84c531e84303aed70ba3a8a74e7b",
"licenseId": 1
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object
robotId Long 机器人 id

响应示例:

{
"robotId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 机器人详情
robotId Long 机器人 id
name String 机器人名称
status String 机器人状态,参考机器人状态表
uuid String 机器人 uuid
userId Long 绑定用户 id
userAccount String 绑定用户账号
groupIds Long[] 机器人组 id 集合
groupNames String[] 机器人组名称集合
licenseId Long license 证书 id
licenseCode String license 证书 code
orgId Long 用户组 id
orgName String 用户组名称
isEnabled Boolean 是否启用

响应示例:

{
"code": "200",
"message": "success",
"data": {
"robotId": 321,
"name": "test 机器人",
"status": "IDLE"
"uuid": "47ff84c531e84303aed70ba3a8a74e7b",
"userId": 1234,
"userAccount": "test",
"groupIds": [1,2],
"groupNames": ["test1", "test2"],
"licenseId": 1,
"licenseCode": "RoN0jERh",
"orgId": 20,
"orgName": "test 用户组",
"isEnabled": true
}
}

5.3.5 修改机器人

接口描述:

修改机器人属性。

请求格式:

描述 定义
Path /open/api/v3/robot/update
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
名称 类型 是否 默认值 备注
"userAccount": "test",
"robotId": 123,
"robotName": "test 机器人 1",
"userId": 1234,
"uuid": "47ff84c531e84303aed70ba3a8a74e7b",
"licenseId": 1

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"userAccount": "test",
"robotId": 123,
"isEnabled": false
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.3.7 删除机器人

接口描述:

删除机器人。

请求格式:

描述 定义
Path /open/api/v3/robot/del
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
userAccount String 用户账号,判断权限(不传默认租
robotId Long 机器人 id,和 uuid 至少传一个
uuid String 机器人 uuid

请求示例:

{
"userAccount": "test",
"robotId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.4 流程相关 5.4.1 查询流程列表

接口描述:

获取有权限的流程列表。

请求格式:

描述 定义
Path /open/api/v3/processes
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
是否 默认
必须
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
userAccount String 用户账号(不填默认租管)
流程类型,默认 STANDARD,参考流程类
componentType String
processName String 流程名称模糊查询

请求示例:

{}

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"projectId": 2345,
"name": "流程 1",
"version": "V11",
"comment": "12345",
"createTime": "2024-10-12 18:32:00",
"processId": "321",
"parameters":
"[{\"description\":\"\",\"direction\":\"In\",\"edit\":false,\"isF
ile\":true,\"name\":\"file1\",\"typeName\":\"System.String\",\"uu
id\":\"4781\"}]"
}]
}

5.4.2 查询流程版本列表

接口描述:

获取指定流程版本列表。

请求格式:

描述 定义
Path /open/api/v3/process/versions
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
是否 默认
必须
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
processId String 流程 id

请求示例:

{
"pageIndex": 1,
"pageSize": 10,
"processId": "321"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
流程版本 id,唯一确定一个流程版本,用于创
projectId Long
建任务/计划中的 projectId 参数
name String 流程名称
version String 流程版本号
comment String 流程版本描述
processId String 流程 id
createTime Date 创建时间
updateTime Date 更新时间
isDefault Boolean 是否默认版本
流程参数,内容可转换为 List 结构,参考
parameters String
parameters 参数说明

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"projectId": 2345,
"name": "流程 1",
"version": "V1",
"comment": "12345",
"processId": "321",
"createTime": "2024-10-12 18:32:00",
"updateTime": "2024-10-12 18:32:00",
"isDefault": true,
"parameters":
"[{\"description\":\"\",\"direction\":\"In\",\"edit\":false,\"isF
ile\":true,\"name\":\"file1\",\"typeName\":\"System.String\",\"uu
id\":\"4781\"}]"
}]
}

5.5 任务相关 5.5.1 查询任务列表

接口描述:

获取当前租户下的任务列表。

请求格式:

描述 定义
Path /open/api/v3/tasks
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
是否 默认
必须
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
taskId Long 任务 id
userAccount String 用户账号

请求示例:

{
"pageIndex": 1,
"pageSize": 10
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
taskId Long 任务 id
projectId Long 流程运行版本 id
projectName String 流程名称
projectVersion String 流程版本
robotId Long 机器人 id
robotAccountId Long 高密度机器人 id
robotName String 机器人名称
createTime Date 创建时间
startTime Date 开始执行时间
endTime Date null 结束时间
status String 任务状态,参考任务状态表
flowParamValue String 任务参数,内容可转换为 List 结构
任务运行结果,内容可转换为 List 结构(仅含
flowResultValue String
out、inout 参数结果)

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"taskId": 123,
"projectId": 456,
"projectName": "流程 1",
"projectVersion": "V1",
"robotId": 789,
"robotAccountId": 0,
"robotName": "机器人 1",
"createTime": "2024-10-24 00:00:00",
"startTime": "2024-10-24 09:00:00",
"endTime": null,
"status": "RUNNING",
"flowParamValue": "[]",
"flowResultValue": "[]"
}]
}

5.5.2 新增立即执行任务

接口描述:

创建一个新的立即执行任务。

请求格式:

描述 定义
Path /open/api/v3/task/add
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
robotId Long 机器人 id,和 uuid 至少传一个
robotUuid String 机器人 uuid
robotAccountId Long 高密度机器人 id
projectId Long 流程版本 id(查询流程列表获取 id)
流程 id,和流程版本 id 至少传一个,
processId String
如果是流程 id 则会运行默认版本的
userAccount String
isRecordVideo Boolean false 是否录屏
isRunAdmin Boolean false 是否以管理员身份运行
Boolean false 是否画中画运行
busyType String GIVE_UP
logLevel String ALL 日志级别,参考日志级别表
queueTimeOut Long 0
写,单位分钟(0 为一直等待)
failedRetry Integer 0 失败重试次数,最大 10
parameters String 任务参数,参考 parameters 参数说明
isStoreLocal Boolean true 是否本次存储,开启录屏时选择
isRecordUpload Boolean false 运行记录是否同步云端是否同步云端
estimatedSeconds Long 0 预估执行时间,单位秒

请求示例:

{
"projectId": 123,
"robotId": 456,
"parameters":
"[{\"description\":\"\",\"direction\":\"In\",\"edit\":false,\"isF
ile\":true,\"name\":\"file1\",\"typeName\":\"System.String\",\"uu
id\":\"4781\"}]"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 响应信息
taskId Long 任务 id
timingId Long 计划 id

响应示例:

{
"code": "200",
"message": "success",
"data": {
"taskId": 123,
"timingId": 456
}
}

5.5.3 停止任务

接口描述:

停止当前正在运行的任务。

请求格式:

描述 定义
Path /open/api/v3/task/stop
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
userAccount String
任务 id、机器人 id、机器人 uuid 三
taskId Long
robotUuid String 机器人 uuid
robotId Long 机器人 id

请求示例:

{
"taskId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": true
}

5.5.4 查询任务详情

接口描述:

查询任务详情。

请求格式:

描述 定义
Path /open/api/v3/task/detail
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
taskId Long 任务 Id

请求示例:

{
"taskId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 任务详情
taskId Long 任务 id
timingId Long 计划 id
status String 任务状态,参考任务状态表
processId Long 流程 id
projectId Long 流程运行版本 id
projectName String 流程名称
projectVersion String 流程版本
startTime Date 开始时间
endTime Date 结束时间
busyType String
cronTab String 定时表达式
userId Long 创建用户 id
userName String 创建用户名称
robotId Long 机器人 id
robotName String 运行机器人名称
isRecordVideo Boolean 是否录屏
videoUrls String[] 录屏地址集合
flowParamValue String 任务参数,内容可转换为 List 结构
任务运行结果,内容可转换为 List
flowResultValue String
结构(仅含 out、inout 参数结果)
errorMsg String 任务失败信息

响应示例:

5.5.5 查询任务日志

接口描述:

查询任务日志详情。

请求格式:

描述 定义
Path /open/api/v3/task/logs
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
taskId Long 任务 Id
logLevel String ALL 日志级别,参考日志级别表

请求示例:

{
"taskId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
logLevel String 日志级别,参考日志级别表
message String 日志内容
createTime Date 创建时间

响应示例:

管)

请求示例:

{
"taskId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.6 计划相关 5.6.1 查询计划列表

接口描述:

查询当前租户下的计划列表。

请求格式:

描述 定义
Path /open/api/v3/timings
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
名称 类型 是否 默认值 备注
pageIndex Integer 1 页码,表示第几页
pageSize Integer 10 数量,表示每页包含的数据条数
timingName String 计划名称模糊查询
userAccount String 计划创建用户账号

请求示例:

{
"pageIndex": 1,
"pageSize": 10
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
timingId Long 计划 id
name String 计划名称
projectId Long 流程运行版本 id
projectName String 流程名称
projectVersion String 流程版本
robotId Long 机器人 id
robotName String 机器人名称
createTime Date 创建时间
updateTime Date 更新时间
isEnabled Boolean 是否启用

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"timingId": 1234,
"name": "计划 1",
"projectId": 321,
"projectName": "流程 1",
"projectVersion": "V11",
"robotId": 456,
"robotName": "test 机器人",
"createTime": "2024-10-12 18:32:00",
"updateTime": "2024-10-12 18:32:00",
"isEnabled": true
}]
}

5.6.2 新增计划(单次、多次、网络请求触发)

接口描述:

创建一个新的单次执行、多次执行或者网络请求触发计划。

请求格式:

描述 定义
Path /open/api/v3/timing/add
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
name String 计划名称
triggerType String
默认是 TIMED_TRIGGERED_TASK
CRON_E 计划定时模式,当 triggerType 为
timingMode String XPRESS TIMED_TRIGGERED_TASK 时须填,参考
IONS 计划定时模式表
projectId Long 流程版本 id(查询流程列表获取 id)
processId String 流程 id,和流程版本 id 至少传一个
robotId Long 机器人 id,和 uuid 至少传一个
robotUuid String 机器人 uuid
robotAccountId Long 高密度机器人 id
userAccount String
timingMode 为多次执行时须指定 cron
cronTab String
timingMode 为单次执行时须指定开始
startTime Date
isRecordVideo Boolean false 是否录屏
isRunAdmin Boolean false 是否以管理员身份运行
Boolean false 是否画中画运行
GIVE_U 机器人繁忙处理方式,参考机器人繁
busyType String
P 忙处理方式表
logLevel String ALL 日志级别,参考日志级别表
queueTimeOut Long 0
写,单位分钟(0 为一直等待)
failedRetry Integer 0 失败重试次数,最大 10
parameters String 计划参数
isStoreLocal Boolean true 是否本次存储,开启录屏时选择
isRecordUpload Boolean false 是否同步云端
estimatedSeconds Long 0 预估执行时间
startTimeStamp Long
endTimeStamp Long

请求示例:

{
"name": "test 计划",
"projectId": 1234,
"robotId": 4321,
"triggerType": "TIMED_TRIGGERED_TASK",
"timingMode": "CRON_EXPRESSIONS",
"cronTab": "0 * * * * ?"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Long 计划 id
timingId Long 计划 id

响应示例:

{
"code": "200",
"message": "success",
"data": {
"timingId": 123
}
}

5.6.3 查询计划详情

接口描述:

查询计划详情。

请求格式:

描述 定义
Path /open/api/v3/timing/detail
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
timingId Long 计划 id

请求示例:

failedRetry Integer 失败重试次数
机器人繁忙处理方式,参考机器人
busyType String
繁忙处理方式表
等待时间,单位分钟,为 0 表示一
queueTimeOut Long
直等待(0 为一直等待)
isRecordVideo Boolean 是否运行时录屏
runAsAdmin Boolean 是否以管理员身份运行
isPictureInPicture Boolean 是否画中画运行
isRecordUpload Boolean 是否记录同步云端
录屏是否本地存储,为 true 表示存
isStoreLocal Boolean
储本地,为 false 表示云端存储

响应示例:

{
"code": "200",
"message": "success",
"data": {
"timingId": 123,
"name": "test 计划",
"processId": 1838473784372281346,
"projectId": 4650,
"projectName": "file_2024092401",
"version": "V3",
"robotId": 11226,
"robotName": "test_ry_2",
"cronTab": "0 * * * * ?",
"startTime": "2024-10-17 16:38:21",
"triggerType": "TIMED_TRIGGERED_TASK",
"timingMode": "CRON_EXPRESSIONS",
"parameters":
"[{\"description\":\"\",\"direction\":\"In\",\"edit\":false,\"isF
ile\":true,\"name\":\"file1\",\"typeName\":\"System.String\",\"uu
id\":\"4781\"}]",
"logLevel": "ALL",
"failedRetry": 3,
"taskType": "QUEUE_UP",
"queueTimeOut": 0,
"isRecordVideo": true,
"runAsAdmin": true,
"isPictureInPicture": false,
"isRecordUpload": false,
"isStoreLocal": true
}
}

5.6.4 修改计划

接口描述:

修改计划信息。

请求格式:

描述 定义
Path /open/api/v3/timing/update
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
timingId Long 计划 id
name String 计划名称(不传不修改)
triggerType String
计划定时模式,当 triggerType
timingMode String TIMED_TRIGGERED_TASK 时须填,参考
projectId Long 流程版本 id(不传不修改)
processId String 流程 id(不传不修改)
robotId Long 机器人 id(不传不修改)
robotUuid String 机器人 uuid(不传不修改)
robotAccountId Long 高密度机器人 id(不传不修改)
timingMode 为多次执行时须指定 cron
cronTab String
timingMode 为单次执行时须指定开始
startTime Date
isRecordVideo Boolean 是否录屏(不传不修改)
isRunAdmin Boolean
Boolean 是否画中画运行(不传不修改)
busyType String
logLevel String
queueTimeOut Long
failedRetry Integer 失败重试次数,最大 10(不传不修
parameters String 计划参数(不传不修改)
isStoreLocal Boolean
isRecordUpload Boolean 是否同步云端(不传不修改)
estimatedSeconds Long 预估执行时间(不传不修改)
startTimeStamp Long
endTimeStamp Long (不传不修改),如果是单次定时修改

请求示例:

{
"timingId": 123,
"name": "test 计划",
"projectId": 1234,
"robotId": 4321,
"triggerType": "TIMED_TRIGGERED_TASK",
"timingMode": "CRON_EXPRESSIONS",
"cronTab": "0 * * * * ?"
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.6.5 启/禁用计划

接口描述:

启/禁用计划。

请求格式:

描述 定义
Path /open/api/v3/timing/enabled-status
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
timingId Long 计划 id
isEnabled Boolean true 启用,false 禁用

请求示例:

{
"timingId": 123,
"isEnabled": false
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

5.6.6 网络请求触发计划 API 接口

接口描述:

通过 API 触发网络请求触发计划执行。

请求格式:

描述 定义
Path /open/api/v3/timing/api-request
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
timingId Long 计划 id
parameters String 计划参数,参考 parameters 参数说
"timingId": 123,

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object 响应信息
taskId Long 任务 id
timingId Long 计划 id

响应示例:

{
"pageIndex": 1,
"pageSize": 10,
"timingId": 123
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object[] 当前页数据集合
total Long 数据总数
pageSize Long 当前页数量
page Long 页码
pageIndex Long 页码
taskId Long 任务 id
projectId Long 流程运行版本 id
projectName String 流程名称
projectVersion String 流程版本
robotId Long 机器人 id
robotAccountId Long 高密度机器人 id
robotName String 机器人名称
createTime Date 创建时间
startTime Date 开始执行时间
endTime Date null 结束时间
status String 任务状态,参考任务状态表
flowParamValue String 任务参数,内容可转换为 List 结构
任务运行结果,内容可转换为 List 结构(仅含
flowResultValue String
out、inout 参数结果)

响应示例:

{
"code": "200",
"message": "success",
"total": 1,
"pageSize": 10,
"page": 1,
"pageIndex": 1,
"data": [{
"taskId": 123,
"projectId": 456,
"projectName": "流程 1",
"projectVersion": "V1",
"robotId": 789,
"robotAccountId": 0,
"robotName": "机器人 1",
"createTime": "2024-10-24 00:00:00",
"startTime": "2024-10-24 09:00:00",
"endTime": null,
"status": "RUNNING",
"flowParamValue": "[]",
"flowResultValue": "[]"
}]
}

5.6.8 删除计划

接口描述:

删除计划。

请求格式:

描述 定义
Path /open/api/v3/timing/del
Method POST

请求头部:

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 全部使用 POST 请求为了保证安全性,Content-Type 均为 application/json
Access-Token 授权接口所获取的 accessToken

请求参数:

名称 类型 是否必须 默认值 备注
timingId Long 计划 id
includeTask Boolean false 是否删除关联任务

请求示例:

{
"timingId": 123,
"includeTask": true
}

返回参数:

名称 类型 默认值 备注
code String 200 状态码,参考状态码表
message String success 错误说明
data Object null

响应示例:

{
"code": "200",
"message": "success",
"data": null
}

6、 其他说明 6.1 parameters 参数说明 parameters 目前支持两种格式,一种为数组格式字符串,另一种为 json 格式字符串,参考以 下说明。 6.1.2 json 格式字符串 "{\"name1\":\"value1\", \"name2\":\"value2\"}"

  • name-参数名
  • valye-参数值

    7、码表

7.1 任务状态表

枚举 code 状态码说明
RUNNING 1 运行中
PLAN 2 待运行
ERROR 3 失败
COMPLETE 4 完成
TIMEOUT 5 超时
JUMP_OVER 6 跳过
ABNORMAL 7 成功且有异常

7.2 机器人状态表

枚举 code 状态码说明
RUNNING 1 运行中
IDLE 3 闲置
DISCONNECT 4 未连接

7.3 license 类型表

枚举 code 状态码说明
NONE -1
FREE4ALL 0
CONTROLLER 1 控制台
DESIGNER 2 设计器
ROBOT 3 机器人
CLOUD_ROBOT 4 云端机器人
CLOUD_DESIGNER 5 云端设计器
COMMUNITY_DESIGNER 6 社区版设计器
DYNAMIC_LICENSE 7 动态 license

7.4 日志级别表

枚举 code 状态码说明
ALL 0 全部
DEBUG 1 调试
INFO 2 日志
WARN 3 警告
ERROR 4 错误
CRASH 5 致命

7.8 机器人繁忙处理方式表

枚举 code 状态码说明
GIVE_UP 0 繁忙放弃
QUEUE_UP 1 排队
JUMP_QUEUE 2 插队

7.9 计划触发类型表

枚举 code 状态码说明
TIMED_TRIGGERED_TASK 0 定时触发
REQUEST_TRIGGERED_TASK 2 API 触发

7.10 状态码表

状态码 状态码说明
200 成功
400 入参异常、业务异常
401 认证异常
500 服务器内部错误
1001 调用内部接口错误
1002 解析 OpenApi 秘钥失败
1003 secret 加密串不能为空
1004 加密后密串长度不符合要求, 请检查密串正确性
1005 secret 加密串格式错误
1006 机器人组名称重复
1007 机器人组 ID 不能为空
1008 机器人组不存在或已被删除
1009 用户组 ID 不能为空
1010 公共机器人组不支持此操作
1011 机器人组名称不能为空
1012 私有机器人组必需指定用户组 / 公共机器人不能绑定用户组
1013 用户组不存在
1014 至少提供机器人 id 或 uuid 中的一个
1015 机器人不存在
1016 缺少参数 : %s
1017 机器人正在执行任务,无法操作
1018 机器人组不属于当前用户组
1019 license 不存在
1020 license 已过期
1021 没有 license 操作权限
1022 uuid 格式错误
1023 uuid 重复
1024 用户不属于当前租户
1025 机器人名称不能为空
1026 机器人名称长度不能超过 100
1027 机器人名称重复
1028 机器人已禁用
1029 没有操作权限
1030 至少提供 projectId 或 processId 中的一个
1031 流程不存在或已被删除
1032 无可用高密度机器人,请填入正确的 accountId
1033 当前机器人不是高密度机器人, 请确认 robotId 和 accountId 正确性
1034 调用公共方法错误
1035 无可用机器人
1036 应传入 taskId 或 robotId 或 robotUuid
1037 任务不存在或已被删除
1038 非运行任务无法停止运行
1039 不能停止别人运行的任务
1040 传入 robotId 和 task 不一致
1041 传入机器人 uuid 错误
1042 停止任务指令发送失败
1043 机器人无运行中的任务
1044 任务 id 不能为空
1045 任务运行中,无法删除
1046 计划 id 不能为空
1047 计划不存在或已被删除
1048 计划已被禁用
1049 此计划不是网络请求触发类型计划
1050 计划名称不能为空
1051 只允许创建定时触发计划和 API 触发计划
1052 单次定时须传入开始时间
1053 多次定时须传入 cron 表达式
1054 当前不支持设置的任务执行间隔小于十秒
1055 定时任务开始生效时间戳不能为空
1056 多次定时任务结束生效时间戳不能为空
1057 计划名称重复
1058 排队超时时间不能小于 0
1059 失败重试次数范围为 0-10
1060 预估执行时间不能小于 0

results matching ""

    No results matching ""